﻿/*----------------------------------------------------------------
// Copyright (C) 2012 Q.FunnyFace
// 版权所有。 
//
// 文件名：DataAccessUser.cs
// 文件功能描述：用户信息数据访问实现
//
// 
// 创建标识：2012-10-26 zhangqiang
//
// 修改标识：
// 修改描述：
//
//
//----------------------------------------------------------------*/

using DomainModel;
using EmitMapper;
using IDataAccess;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Infrastructure;

namespace DataAccess
{

    /// <summary>
    /// 用户信息数据访问实现
    /// </summary>
    public class DataAccessUser : RepositoryBase<UserInfo>, IDataAccessUser
    {
      

        public DataAccessUser(IDbContextFactory dbContextFactory, IUnitOfWork unitOfWork)
            : base(dbContextFactory, unitOfWork)
        {

        }

        ///// <summary>
        ///// 获取用户信息
        ///// </summary>
        ///// <param name="userID">用户ID</param>
        ///// <returns>用户信息</returns>
        //public UserInfo GetUser(int userID)
        //{
        //    using (var db = new EFDBContext())
        //    {
        //        return db.Users.Find(userID);
        //    }
        //}


        ///// <summary>
        ///// 添加用户信息
        ///// </summary>
        ///// <param name="userInfo">用户信息</param>
        ///// <returns>True=操作成功/False=操作失败</returns>
        //public bool AddUser(UserInfo userInfo)
        //{
        //    var result = 0;
        //    using (var db = new EFDBContext())
        //    {
        //        var user = db.Users.SingleOrDefault(c => c.LoginName == userInfo.LoginName);
        //        if (null == user)
        //        {
        //            db.Users.Add(userInfo);
        //            result = db.SaveChanges();
        //        }
        //    }
        //    return result > 0;
        //}




        ///// <summary>
        ///// 获取用户信息
        ///// </summary>
        ///// <param name="loginName">用户登录名</param>
        ///// <returns>用户信息</returns>
        //public UserInfo GetUser(string loginName)
        //{
        //    if (string.IsNullOrEmpty(loginName))
        //    {
        //        return null;
        //    }
        //    using (var db = new EFDBContext())
        //    {
        //        return db.Users.SingleOrDefault(p => p.LoginName == loginName);
        //    }
        //}



        ///// <summary>
        ///// 修改用户信息
        ///// </summary>
        ///// <param name="userInfo">用户信息</param>
        ///// <returns>True=操作成功/False=操作失败</returns>
        //public bool UpdateUser(UserInfo userInfo)
        //{
        //    using (var db = new EFDBContext())
        //    {
        //        var user = db.Users.Find(userInfo.UserID);
        //        var to = ObjectMapperManager
        //                    .DefaultInstance
        //                    .GetMapper<UserInfo, UserInfo>()
        //                    .Map(userInfo, user);
        //        db.SaveChanges();
        //    }
        //    return true;
        //}




        ///// <summary>
        ///// 删除用户
        ///// </summary>
        ///// <param name="userID">用户ID</param>
        ///// <returns>True=操作成功/False=操作失败</returns>
        //public bool DeleteUser(int userID)
        //{
        //    if (userID == 0)
        //    {
        //        throw new ArgumentException("无效参数", "userID");
        //    }
        //    var result = 0;
        //    using (var db = new EFDBContext())
        //    {
        //        var user = db.Users.SingleOrDefault(c => c.UserID == userID);
        //        db.Users.Remove(user);
        //        result = db.SaveChanges();
        //    }
        //    return result > 0;
        //}
    }
}
